/*
 * QueryType.scala
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package org.squela
import scala.annotation.unchecked._

abstract class QueryType
case class Select[T](@uncheckedVariance fields: Field[T]*) extends QueryType
case class Insert[T](associations: ->[T]*) extends QueryType
case class Update[T](associations: ->[T]*) extends QueryType
case class Delete() extends QueryType
case class Create[T](@uncheckedVariance fields: Field[T]*) extends QueryType
abstract class AlterResource extends QueryType